using System;
using System.Collections.Generic;
using Locator.Silverlight.Client.Models.ViewModels.Elements;

namespace Locator.Silverlight.Client.Models
{
    public interface IProductModel
    {
        void GetAllSubstancesAsync(Action<IEnumerable<SubstanceViewModel>, Exception> callback);
        void GetProductsForUserAsync(Action<IEnumerable<UserProductViewModel>, Exception> callback);
        void GetAllProductsAsync(Action<IEnumerable<ProductViewModel>, Exception> callback);
        void GetAllProductsContaingNameAync(string name, Action<IEnumerable<UserProductViewModel>, Exception> callback);
        void AddProductForUserAsync(UserProductViewModel product, Action<Exception> callback);
        void DeleteProductForUserAsync(ProductViewModel product, Action<Exception> callback);
    }
}
